#ifndef PIN_CH32V_HPP
#define PIN_CH32V_HPP

#include "Pin.hpp"

enum class PinMode {
    Input_floating,
    Input_pullup,
    Input_pulldown,
    Output,
    Output_opendrain
};

enum class GPIO{
    A,
    B,
    C,
    D,
    E
};

class PinFactory{
public:
    static Pin *getPin(int pinnum,PinMode mode);
    static Pin *getPin(GPIO gpio,int pin,PinMode mode);
};

#endif
